package com.smart.service;




import javax.jws.WebService;

import com.smart.hotelsmart.BookHotelRequestType;
import com.smart.hotelsmart.BookHotelResponseType;
import com.smart.hotelsmart.HotelPortType;
import com.smart.hotelsmart.InfoBookHotelRequestType;
import com.smart.hotelsmart.InfoBookHotelResponseType;
import com.smart.hotelsmart.InfoHotelRequestType;
import com.smart.hotelsmart.InfoHotelResponseType;
import com.smart.hotelsmart.ListBookHotelRequestType;
import com.smart.hotelsmart.ListBookHotelResponseType;
import com.smart.hotelsmart.SearchHotelRequestType;
import com.smart.hotelsmart.SearchHotelResponseType;
import com.smart.service.book.BookHotelService;
import com.smart.service.infohotel.InfoHotelService;
import com.smart.service.search.SearchHotelService;
import com.smart.service.util.Logging;


/**
 *
 * @author 
 */
@WebService(serviceName = "HotelService", 
        portName = "HotelPortTypePort", 
        endpointInterface = "com.smart.hotelsmart.HotelPortType", 
        targetNamespace = "http://smart.com/hotelsmart.wsdl", 
        wsdlLocation = "WEB-INF/wsdl/HotelService/HotelService.wsdl")
public class HotelService  implements HotelPortType{
 
	/** A Constant LOGGER. */
    private static final Logging LOGGER = Logging.getLogger(HotelService.class.getName());


    public InfoHotelResponseType getInfoHotel(InfoHotelRequestType body) {
        LOGGER.debug("getInfoHotel " + body);
        InfoHotelService client = new InfoHotelService();
        return client.getInfoHotel(body);
    }

    /**
     * Operação de serviço web
     */
    public SearchHotelResponseType getSearchAvailableHotels(SearchHotelRequestType body) {
    	assert body != null;
    	LOGGER.debug("getHoteisDisponiveis " + body);
    	SearchHotelService search = new SearchHotelService();
    	return search.getSearchAvailableHotels(body);
    }

    
    public BookHotelResponseType setBookHotel(BookHotelRequestType body) {
    	LOGGER.debug("setBookHotel");
        return new BookHotelService().setBookHotel(body);
    }

    /*/# INICIO - EXERC. 2*/
    @Override
	public ListBookHotelResponseType getListBookHotel(ListBookHotelRequestType body){
		LOGGER.debug("getListBookHotel");
		return new BookHotelService().getListBookHotel(body);
	}
    
    @Override
	public InfoBookHotelResponseType getInfoBookHotel(InfoBookHotelRequestType body){
		LOGGER.debug("getInfoBookHotel");
		return new BookHotelService().getInfoBookHotel(body);
	}
	
	
	// FIM - EXERC. 2 #*/
    
    
     
}
